package com.aterrizar.dominio.neo.servicios;

import java.util.ArrayList;
import java.util.List;

import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;

import com.aterrizar.dominio.Neo4J.ManagerNeo;
import com.aterrizar.dominio.Neo4J.NeoOperation;
import com.aterrizar.dominio.Neo4J.RelTypes;
import com.aterrizar.dominio.usuarios.Usuario;

public class ConsultarMensajes implements NeoOperation<List<String>>{

	private Usuario usuario;
	
	public ConsultarMensajes(Usuario usuario) {
		this.usuario = usuario;
	}
	
	@Override
	public List<String> execute() {
		
        Node usuario = ManagerNeo.runInSession(new ConsultarUsuarioNeo(this.usuario));
        List<String> nodes = new ArrayList<String>();
        for (Relationship relationship : usuario.getRelationships(RelTypes.EMISOR)) {
            nodes.add((String) relationship.getOtherNode(usuario).getProperty("message"));
        }
        return nodes;
	}
	

}
